<?php

namespace Admin\Model;

use Think\Model;
use Think\Model\RelationModel;

class UserModel extends RelationModel
{
    /* 自动验证 */
    protected $_validate = array(
        //用户名，不为空，不能重复。
        array('username', 'require', '用户名必须填写!'),
        array('username', '', '用户名已存在，请重新填写！', 0, 'unique'),
        //邮箱不能为空，不能重复。格式正确
        array('email', 'require', '邮箱必须填写!'),
        array('email', '', '邮箱已存在，请重新填写！', 0, 'unique'),
        array('email', 'email', '邮箱格式不正确，请重新填写！'),
        //手机号不能为空，不能重复，格式正确
        array('mobile', 'require', '手机号必须填写!'),
        array('mobile', '', '手机号已存在，请重新填写！', 0, 'unique'),
        array('mobile', '/^13[\d]{9}$|^14[5,7]{1}\d{8}$|^15[^4]{1}\d{8}$|^17[0,6,7,8]{1}\d{8}$|^18[\d]{9}$/', '手机号格式不正确，请重新填写！'),
        //密码不能为空
        array('password', 'require', '密码必须填写!'),
        array('password', '6,16', '密码长度不能小于6位并且不能大于16位!', 3, 'length'),
        //两次密码输入一致
        array('check_password', 'password', '确认密码不正确！', 0, 'confirm'),
    );




    protected $_link = array(
        'auth_group' => array(
            'mapping_type' => self::MANY_TO_MANY,
//            'class_name'        =>  'Group',
            'mapping_name' => 'groups',
            'foreign_key' => 'uid',
            'relation_foreign_key' => 'group_id',
            'relation_table' => 'auth_group_access' //此处应显式定义中间表名称，且不能使用C函数读取表前缀
        ),
    );
}